#define  _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <assert.h>
//int main()
//{
//	char s1[10] = { 'a','b','c' };
//	char s2[10] = "abcd";
//	std::cout << *s1 << std::endl;
//	std::cout << *s2 << std::endl;
//	return 0;
//}

using namespace std;

//class date
//{
//private:
//	int _year;
//	int _month;
//	int _day;
//
//public:
//
//	date(int year, int month, int day)
//	{
//		_year = year;
//		_month = month;
//		_day = day;
//	}
//
//	class day
//	{
//	public:
//		void print(const date& a)
//		{
//			cout << a._year <<" " << a._month <<" " << a._day << endl;
//		}
//	private:
//		int _time;
//		int _min;
//		int _second;
//	};
//};
//
//int main()
//{
//	date date1(2024,10,13);
//	date::day day1;
//	day1.print(date1);
//	return 0;
//}

//class date
//{
//private:
//	int _year;
//	int _month;
//	int _day;
//
//public:
//	date(int year = 2024,int month = 10,int day =13)
//		:_year(year)
//		,_month(month)
//		,_day(day)
//	{
//		cout << _year << " " << _month << " " << _day << endl;
//	}
//
//	~date()
//	{
//		cout << "~date" << endl;
//	}
//
//}; 
//
//int main()
//{
//	date a;
//
//	date();
//
//	date(2024, 9, 25);
//}


class date
{
private:
	int _year;
	int _month;
	int _day;

public:
	date(int year = 2024, int month = 10, int day = 13)
		:_year(year)
		, _month(month)
		, _day(day)
	{
		cout << "date" << endl;
	}

	date(const date& a)
	{
		_year = a._year;
		_month = a._month;
		this->_day = a._day;
	}

	~date()
	{
		cout << "~date" << endl;
	}

	void print()
	{ 
		cout << _year << " " << _month << " " << _day << endl;
	}

};

date func()
{
	date a;
	cout << &a << endl;
	return a;
}

int main()
{
	//date d = func();
	//cout << &d << endl;//
	
	int* p1 = (int*)calloc(4,sizeof(int)*4);
	assert(p1);

	date* p2 = new date;
	delete p2;

	return 0;
}


//int main()
//{
//	date d1(2024, 9, 25);
//	date d2 = d1;
//	date d3(d1);
//	d2.print();
//	d3.print();
//
//	return 0;
//}

